﻿using System;
using System.Data.Linq.Mapping;

namespace iMobileS.Models.Partial
{
    public class Employees
    {
        private int _EmployeeID;

        private string _LastName;

        private string _FirstName;

        private string _Title;

        private string _TitleOfCourtesy;

        private Nullable<DateTime> _BirthDate;

        private Nullable<DateTime> _HireDate;

        private string _Address;

        private string _City;

        private string _Region;

        private string _PostalCode;

        private string _Country;

        private string _HomePhone;

        private string _Extension;

        private System.Data.Linq.Binary _Photo;

        private string _Notes;

        private Nullable<int> _ReportsTo;

        private string _PhotoPath;

        public Employees()
        {
        }

        [Column(Storage = "_EmployeeID", DbType = "Int NOT NULL")]
        public int EmployeeID
        {
            get
            {
                return this._EmployeeID;
            }
            set
            {
                if ((this._EmployeeID != value))
                {
                    this._EmployeeID = value;
                }
            }
        }

        [Column(Storage = "_LastName", DbType = "NVarChar(20) NOT NULL", CanBeNull = false)]
        public string LastName
        {
            get
            {
                return this._LastName;
            }
            set
            {
                if ((this._LastName != value))
                {
                    this._LastName = value;
                }
            }
        }

        [Column(Storage = "_FirstName", DbType = "NVarChar(10) NOT NULL", CanBeNull = false)]
        public string FirstName
        {
            get
            {
                return this._FirstName;
            }
            set
            {
                if ((this._FirstName != value))
                {
                    this._FirstName = value;
                }
            }
        }

        [Column(Storage = "_Title", DbType = "NVarChar(30)")]
        public string Title
        {
            get
            {
                return this._Title;
            }
            set
            {
                if ((this._Title != value))
                {
                    this._Title = value;
                }
            }
        }

        [Column(Storage = "_TitleOfCourtesy", DbType = "NVarChar(25)")]
        public string TitleOfCourtesy
        {
            get
            {
                return this._TitleOfCourtesy;
            }
            set
            {
                if ((this._TitleOfCourtesy != value))
                {
                    this._TitleOfCourtesy = value;
                }
            }
        }

        [Column(Storage = "_BirthDate", DbType = "DateTime")]
        public System.Nullable<System.DateTime> BirthDate
        {
            get
            {
                return this._BirthDate;
            }
            set
            {
                if ((this._BirthDate != value))
                {
                    this._BirthDate = value;
                }
            }
        }

        [Column(Storage = "_HireDate", DbType = "DateTime")]
        public System.Nullable<System.DateTime> HireDate
        {
            get
            {
                return this._HireDate;
            }
            set
            {
                if ((this._HireDate != value))
                {
                    this._HireDate = value;
                }
            }
        }

        [Column(Storage = "_Address", DbType = "NVarChar(60)")]
        public string Address
        {
            get
            {
                return this._Address;
            }
            set
            {
                if ((this._Address != value))
                {
                    this._Address = value;
                }
            }
        }

        [Column(Storage = "_City", DbType = "NVarChar(15)")]
        public string City
        {
            get
            {
                return this._City;
            }
            set
            {
                if ((this._City != value))
                {
                    this._City = value;
                }
            }
        }

        [Column(Storage = "_Region", DbType = "NVarChar(15)")]
        public string Region
        {
            get
            {
                return this._Region;
            }
            set
            {
                if ((this._Region != value))
                {
                    this._Region = value;
                }
            }
        }

        [Column(Storage = "_PostalCode", DbType = "NVarChar(10)")]
        public string PostalCode
        {
            get
            {
                return this._PostalCode;
            }
            set
            {
                if ((this._PostalCode != value))
                {
                    this._PostalCode = value;
                }
            }
        }

        [Column(Storage = "_Country", DbType = "NVarChar(15)")]
        public string Country
        {
            get
            {
                return this._Country;
            }
            set
            {
                if ((this._Country != value))
                {
                    this._Country = value;
                }
            }
        }

        [Column(Storage = "_HomePhone", DbType = "NVarChar(24)")]
        public string HomePhone
        {
            get
            {
                return this._HomePhone;
            }
            set
            {
                if ((this._HomePhone != value))
                {
                    this._HomePhone = value;
                }
            }
        }

        [Column(Storage = "_Extension", DbType = "NVarChar(4)")]
        public string Extension
        {
            get
            {
                return this._Extension;
            }
            set
            {
                if ((this._Extension != value))
                {
                    this._Extension = value;
                }
            }
        }

        [Column(Storage = "_Photo", DbType = "Image")]
        public System.Data.Linq.Binary Photo
        {
            get
            {
                return this._Photo;
            }
            set
            {
                if ((this._Photo != value))
                {
                    this._Photo = value;
                }
            }
        }

        [Column(Storage = "_Notes", DbType = "NText", UpdateCheck = UpdateCheck.Never)]
        public string Notes
        {
            get
            {
                return this._Notes;
            }
            set
            {
                if ((this._Notes != value))
                {
                    this._Notes = value;
                }
            }
        }

        [Column(Storage = "_ReportsTo", DbType = "Int")]
        public System.Nullable<int> ReportsTo
        {
            get
            {
                return this._ReportsTo;
            }
            set
            {
                if ((this._ReportsTo != value))
                {
                    this._ReportsTo = value;
                }
            }
        }

        [Column(Storage = "_PhotoPath", DbType = "NVarChar(255)")]
        public string PhotoPath
        {
            get
            {
                return this._PhotoPath;
            }
            set
            {
                if ((this._PhotoPath != value))
                {
                    this._PhotoPath = value;
                }
            }
        }

    }
}